home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / drawal1r / guid.bas < prev    next >
BASIC Source File  |  1999-08-15  |  2KB  |  66 lines

  1. Attribute VB_Name = "Guid"
  2. Option Explicit
  3.  
  4. Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
  5. Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
  6. Public Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
  7. Public Declare Function OleCreatePictureIndirect Lib "olepro32.dll" (lpPictDesc As PictDesc, riid As Guid, ByVal fPictureOwnsHandle As Long, ipic As IPicture) As Long
  8. Public Declare Function LoadImage Lib "user32" Alias "LoadImageA" (ByVal hInst As Long, ByVal lpsz As String, ByVal iType As Long, ByVal cx As Long, ByVal cy As Long, ByVal fOptions As Long) As Long
  9.  
  10. Public Const WS_OVERLAPPED = &H0&
  11. Public Const WS_CAPTION = &HC00000
  12. Public Const SWP_FRAMECHANGED = &H20
  13. Public Const SWP_NOMOVE = &H2
  14. Public Const SWP_NOSIZE = &H1
  15. Public Const IMAGE_BITMAP = 0
  16. Public Const IMAGE_ICON = 1
  17. Public Const IMAGE_CURSOR = 2
  18. Public Const LR_LOADMAP3DCOLORS = &H1000
  19. Public Const LR_LOADFROMFILE = &H10
  20. Public Const LR_LOADTRANSPARENT = &H20
  21. Public Const GWL_STYLE = (-16)
  22. Private Type PictDesc
  23. Scb As Long
  24. Tbmp As Long
  25. Ih As Long
  26. End Type
  27. Private Type Guid
  28. Data1 As Long
  29. Data2 As Integer
  30. Data3 As Integer
  31. Data4(0 To 7) As Byte
  32. End Type
  33.  
  34.  
  35. Public Sub Title(frm As Form, bar As Boolean)
  36. Dim lRtn As Long
  37. lRtn = GetWindowLong(frm.hwnd, GWL_STYLE)
  38. If bar Then
  39. lRtn = lRtn Or (WS_OVERLAPPED Or WS_CAPTION)
  40. Else
  41. lRtn = lRtn And Not (WS_OVERLAPPED Or WS_CAPTION)
  42. End If
  43. SetWindowLong frm.hwnd, GWL_STYLE, lRtn
  44. SetWindowPos frm.hwnd, 0, 0, 0, 0, 0, SWP_FRAMECHANGED Or SWP_NOMOVE Or SWP_NOSIZE
  45. End Sub
  46.  
  47. Public Function MoveBitmap(ByVal lRtn As Long) As IPicture
  48. If (lRtn = 0) Then Exit Function
  49. Dim pic As Picture
  50. Dim des As PictDesc
  51. Dim gui As Guid
  52. With des
  53. .Scb = Len(des)
  54. .Tbmp = vbPicTypeBitmap
  55. .Ih = lRtn
  56. End With
  57. With gui
  58. .Data1 = &H20400
  59. .Data4(0) = &HC0
  60. .Data4(7) = &H46
  61. End With
  62. OleCreatePictureIndirect des, gui, True, pic
  63. Set MoveBitmap = pic
  64. End Function
  65.  
  66.